Contents

不论是数据仓库还是大数据,都需要用到ETL工具。
ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程)

1、Kettle概念

Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。

Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。

Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。

Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。

2、下载和部署
Kettle可以在 http://kettle.pentaho.org/ 网站下载

下载kettle压缩包,因kettle为绿色软件,解压缩到任意本地路径即可

3、Kettle环境配置

1 安装java JDK

1)首先到官网上下载对应JDK包,JDK1.7或以上版本就行;

2)安装JDK;

3)配置环境变量,附配置方式:

安装完成后,还要对它进行相关的配置才可以使用,先来设置一些环境变量,对于Java来说,最需要设置的环境变量是系统路径变量path。

(1)要打开环境变量的设置窗口。右击“我的电脑”,在弹出的快捷菜单中选择“属性”选项,进入“系统属性”对话框,如图所示。选择“高级”标签,进入“高级”选项卡,再单击“环境变量”按钮,进入“环境变量”对话框

(2)在“xxx的用户变量”列表框中,新建“变量名”:”jdk_home”–添加jdk文件目录,如图所示。

编辑完后,单击“确定”按钮,进行保存,环境变量Path的设置就正式完成。

数据库需要下载对就驱动包,如用MySQL需要到

http://dev.mysql.com/downloads/connector/j/
下载MySQL驱动包
放到
kettle解压目录\libswt\win32 or win64

3、2 测试JDK配置是否成功

设置好环境变量后,就可以对刚设置好的变量进行测试,并检测Java是否可以运行。

(1)单击“开始”按钮,选择“运行”选项,在“运行”对话框中输入cmd命令。

(2)之后单击“确定”按钮,打开命令行窗口。

(3)在光标处输入:java -version命令,按下Enter键执行,即可看到测试结果
Kettle提供了资源库方式的方式来整合所有的工作,但是因为资源库移植不方便,所以我们选择没有资源库;
1)创建一个新的transformation,点击 保存到本地路径,例如保存到D:/xxx下,保存文件名为guo,kettle默认transformation文件保存后后缀名为ktr;

下面开始详细步骤:
新建转换

把“输入”—-“表输入”拖到右边框里

双击表输入
步骤名称输入:guo_testA
点 “新建” 新建数据库连接


输入连接信息

测试连接是否成功

随意写一个sql语句,这个语句表示可以在这个库中随意组合,只要sql语句没有错误即可,我这里只是最简单的把guo_testA中的所有数据查出来,语句为select * from guo_testA

接下来我们创建另外一个步骤【插入/ 更新】

然后在【表输入】上同时按住shift键和鼠标左键滑向【插入/ 更新】

新建数据库连接guo_testB
配置“步骤名称”、”数据库连接“ 、“目标数据库”

连接“表输入”–>“插入/更新”
点击开始


2)创建一个新的job,点击 保存到本地路径,例如保存到D:/xxx下,保存文件名为EtltestJob,kettle默认job文件保存后后缀名为kjb;
新建–作业

把通用下的START、转换拖到右边


双击START设置时间间隔

双击转换,添加转换文件路径

点击开始、开始执行


至此,自动同步完成。

Contents